<?php

class ViagemController extends Controller {
    
    public function __construct(){
        parent::__construct('VIAGEM');
    }
    
    public function index($Viagens = null){
        if(is_null($Viagens)){
            $Viagens = ViagemModel::GetProximasViagens();
        }
        
        $this->save('ProximasViagens', $Viagens);
        $this->save('AllCidades', CidadeModel::GetAllCidade());
        $this->view('index');
    }
    
    public function Search(){
        $Viagens = null;
        if($this->validaBusca())
            $Viagens = ViagemModel::GetViagensSearch($_POST['cidadeOrigem'], $_POST['cidadeDestino'], Util::dateToSQL($_POST['dataPartida']));
        $this->save('LastSearch', $_POST);
        $this->index($Viagens);
    }
    
    private function validaBusca(){
        if(empty($_POST['cidadeOrigem'])){
            SessionHelper::saveMessage('É necessário informar uma cidade de origem.', 'error');
        } else if(empty($_POST['cidadeDestino'])){
            SessionHelper::saveMessage('É necessário informar uma cidade de destino.', 'error');
        }
        return !SessionHelper::existsMessage();
    }
    
}

?>
